<?php
declare (strict_types = 1);

namespace app\controller;


use Mrwanghongda\SmsSdk\Sms\SmsFactory;
use think\exception\ValidateException;
use think\facade\Cache;
use think\Request;
/**
 * 短信宝
 */
const SMS_BAO = 'bao';

/**
 * 腾讯云
 */
const SMS_TENCENT = 'tencent';

/**
 * 阿里云正在开发中...
 */
const SMS_ALIYUN = 'aliyun';

class Login
{
//   登录页面
function loginShow(){
    return view('login/loginShow');
}
    function getPhone(Request $request){
        //工厂模式
        $smsObj = (new SmsFactory(SmsFactory::SMS_BAO))->getSmsService();
        $code=rand(10000,99999);
        $phone=$request->get('phone');
        $config = [
            /* 填写平台对应的CAM密匙secretId，短信宝填写平台账号*/
            'secretId' => 'zbbcc',
            /* 填写平台对应的CAM密匙secretKey，短信宝填写平台密码*/
            'secretKey' => 'Zb0109',
            /* 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId，示例如1400006666 ,短信宝默认为空*/
            'smsSdkAppId' => '',
            /* 验证码,示例如5039 */
            'code' => $code,
            /* 填写腾讯、阿里平台对应的签名内容,短信宝则默认为空 */
            'signName' => '',
            /* 发送的手机号,示例如17899873465 */
            'tel' => $phone,
            /* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */
            'templateId' => "",
            /* 模板发送的短信内容，短信宝则需要填写 如："【短信宝】您的验证码是"5390",3分钟有效。", 腾讯、阿里默认为空 */
            'content' => '【短信宝】您的验证码是'.$code.'您好',//
        ];
        dd($code);
        cache('code',$code,60);
//        $result = $smsObj->send($config);
//        dd($result);
//        $result='短信发送成功';
//        if($result=='短信发送成功'){
//            cache('code',$code,60);
//        }
    }
//登录
function loginData(Request $request){
    $postData=$request->param();
    try {
        validate(\app\validate\Login::class)->check($postData);
    } catch (ValidateException $e) {
        // 验证失败 输出错误信息
        dd($e->getError());
    }
    $checkData=\app\model\Login::loginData($postData['phone']);
    session('phone',$checkData['phone']);
    $code =Cache::get('code');
//    if($postData['code']!=$code){
//        return fail('验证码不正确');
//    }
    if($checkData){
        return success($checkData,200,'登录成功');
//        return redirect('handleShow');
    }
}
}
